This application claims priority to pending Indian Application number 2670/DEL/2006 filed on Dec. 11, 2006.
A computing system may comprise one or more processors that may store data units in different formats. A system-on-chip may comprise a first and a second processor. The first processor may process a data unit in a big-endian format and the second processor may process a data unit in a little-endian format. The first processor may store the least significant byte (LSB) of a multi-byte data unit in a higher memory location (base address+3) and the most significant byte (MSB) in a lower memory location (base address+0). However, the second processor using a little-endian format may store the LSB of the multi-byte data unit in a lower memory location (base address+0) and the MSB in a higher memory location (base address+3).
The multi-byte data unit that is stored in big-endian format by the first processor may be converted into little-endian format before the second processor retrieves the multi-byte data unit. Such an endian conversion may avoid erroneous interpretation of the multi-byte data units by the second processor. The endian conversion may be performed using software approaches. However, performing the endian conversion using software approaches is prone to errors, which may be difficult to debug. Also, performing endian conversion using software approaches may cause portability issues, while porting the codes between two processors of different endian formats.